package com.ccg.dao;

import com.ccg.entity.Order;

import java.util.HashMap;
import java.util.List;

public interface OrderDao {
    //用户预定房间
    int addOrderByU_id(Order order);
    //用户查看自己所有订单
    List<Order> findOrderByName(int u_id);
    //管理员查询用户的所有订单
    List<Order> adminGetUserOrders(int u_id);
    //管理员根据订单状态查找订单
    List<Order> findOrderByStatus(int orderStatus);
    //根据order_id查找一个订单
    Order findOrderByOrderId(int order_id);
    //用户取消订单
    int orderCancelByUser(Order order);
    //用户删除订单,只能删除已完成的,被用户取消,被酒店拒绝的订单
    int deleteOrder(Order order);

    //酒店审核通过用户预订的订单
    int orderSuccessByHotel(int order_id);
    //酒店拒绝该订单
    int orderCancelByHotel(Order order);
    //用户到达前台办理入住
    int orderUserArrive(int order_id);
    //用户到达前台办理退房,订单完成
    int orderCompleteByHotel(int order_id);

    //修改订单的实际消费金额
    int updateRealMoney(Order order);

    //订单统计功能
    //分页获取最近day天的订单
    List<Order> beforeDaysOrder(HashMap<String, Object> map);
    //获取最近day天的订单数量
    int getBeforeDayOrderCount(HashMap<String, Object> map);
    //获取最近day天的销售金额
    int[] getAllMoney(HashMap<String, Object> map);
}
